#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

void generadora(int cantidad) {
	int i=0;
	int max=99;
	int r;
	for (i=0;i<cantidad;i++) {
	r=rand()%max+1;
	}
}

int main()
{
	int cantidad=1000000;
	int iteraciones=10;
	pid_t pid;
	int estado=0;
	int i;
	//Creación del proceso hijo
	pid = fork();
	switch ( pid )
	{
		case -1: exit(EXIT_FAILURE);
			break;
		case 0:
			//Codigo ejecutado por el proceso hijo
			printf("----------INFO HIJO--------\n");
			printf("PID->%d\n",getpid());
			printf("PID padre->%d\n",getppid());
			srand(getpid());
			for (i=0;i<iteraciones;i++){
			generadora(cantidad);
			printf("HIJO: Iteracion numero %d\n",i+1);
			}
			break;
		default:
			//Codigo ejecutado por el proceso padre
			printf("Esperando que finalice el proceso con PID %d...\n",pid);
			waitpid(pid, &estado, 0);
			printf("El proceso hijo ha finalizado con codigo %d\n",WEXITSTATUS(estado));
			printf("----------INFO PADRE-------\n");
			printf("PID->%d\n",getpid());
			printf("PID Padre->%d\n",getppid());
			srand(getpid());
                        for (i=0;i<iteraciones;i++){
                        generadora(cantidad);
                        printf("PADRE: Iteracion numero %d\n",i+1);
                        }
	}
	return 0;
}
